home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
dp-top2b.zip
/
STAT.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-06
|
9KB
|
400 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer TINTEGER012(700)
Integer TINTEGER013(700)
Integer TINTEGER014(700)
Integer TINTEGER015(700)
Integer TINTEGER016(700)
Integer TINTEGER017(700)
Integer TINTEGER018(700)
Integer TINTEGER019(700)
Integer INTEGER020
Integer INTEGER021
String TSTRING001(99)
String STRING002
String TSTRING003(700)
String TSTRING004(700)
String TSTRING005(700)
String STRING006
;------------------------------------------------------------------------------
INTEGER002 = 1
INTEGER003 = 2
STRING006 = U_Name()
INTEGER020 = 0
INTEGER006 = 1
INTEGER008 = 1
Cls
FOpen 3, PPEPath() + "Exclude.lst", 0, 0
:LABEL001
If (Ferr(3)) Goto LABEL002
INTEGER021 = INTEGER021 + 1
FGet 3, TSTRING005(INTEGER021)
Goto LABEL001
:LABEL002
FClose 3
Print "@X03■ @X0FL@X0Bo@X03ading users@X08... @X0B"
:LABEL003
GetAltUser INTEGER006
If (U_Name() == STRING006) INTEGER020 = INTEGER020 + 1
If (INTEGER020 == 2) Goto LABEL005
For INTEGER010 = 1 To INTEGER021
If (Upper(U_Name()) == Upper(TSTRING005(INTEGER010))) Goto LABEL004
Next
TSTRING003(INTEGER006 - 1) = U_Name()
TSTRING004(INTEGER006 - 1) = U_City
TINTEGER015(INTEGER006 - 1) = U_Logons()
TINTEGER013(INTEGER006 - 1) = U_Bul()
TINTEGER014(INTEGER006 - 1) = U_Bdl()
TINTEGER016(INTEGER006 - 1) = U_Fdl()
TINTEGER018(INTEGER006 - 1) = U_Ful()
TINTEGER017(INTEGER006 - 1) = U_MsgWr()
TINTEGER019(INTEGER006 - 1) = U_Ful() + U_Logons() + U_MsgWr() - U_Fdl()
INTEGER008 = INTEGER008 + 1
If (INTEGER008 == 10) Then
AnsiPos 20, GetY()
Print INTEGER006
INTEGER008 = 0
Endif
:LABEL004
INTEGER006 = INTEGER006 + 1
Goto LABEL003
:LABEL005
INTEGER011 = INTEGER006
:LABEL006
TSTRING001(1) = "Top callers "
TSTRING001(2) = "Top uploaders (files) "
TSTRING001(3) = "Top uploaders (bytes) "
TSTRING001(4) = "Top downloaders (files) "
TSTRING001(5) = "Top downloaders (bytes) "
TSTRING001(6) = "Top message writers "
TSTRING001(7) = "Top users "
TSTRING001(8) = "Quit "
INTEGER005 = 8
DispFile PPEPath() + "stat", 0
AnsiPos 1, 1
Print "@X1FDeltaProductions TopUsers statistics 2.0B @X07"
Gosub LABEL007
If (INTEGER001 + INTEGER002 == 8) Goto LABEL012
DispFile PPEPath() + "stat2", 0
AnsiPos 1, 1
Print "@X1FDeltaProductions TopUsers statistics 2.0B @X07"
Print "@X03"
If (INTEGER001 + INTEGER002 == 1) Then
Sort TINTEGER015, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Calls"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
AnsiPos 8, INTEGER006 + 3
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER015(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 2) Then
Sort TINTEGER018, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Files uploaded"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
AnsiPos 8, INTEGER006 + 3
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER018(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 3) Then
Sort TINTEGER013, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Bytes uploaded"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
AnsiPos 8, INTEGER006 + 3
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER013(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 4) Then
Sort TINTEGER016, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Files downloaded"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
AnsiPos 8, INTEGER006 + 3
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER016(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 5) Then
Sort TINTEGER014, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Bytes downloaded"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
AnsiPos 8, INTEGER006 + 3
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER014(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 6) Then
Sort TINTEGER017, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Messages written"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
AnsiPos 8, INTEGER006 + 3
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER017(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
If (INTEGER001 + INTEGER002 == 7) Then
Sort TINTEGER019, TINTEGER012
AnsiPos 7, 2
Print "@X0AName"
AnsiPos 27, 2
Print "Total points"
AnsiPos 52, 2
Print "City@X03"
For INTEGER006 = 0 To 9
AnsiPos 8, INTEGER006 + 3
Print "@X03"
If (TSTRING003(TINTEGER012(700 - INTEGER006)) == STRING006) Print "@X0B"
Print TSTRING003(TINTEGER012(700 - INTEGER006))
AnsiPos 28, INTEGER006 + 3
Print TINTEGER019(TINTEGER012(700 - INTEGER006))
AnsiPos 53, INTEGER006 + 3
Print TSTRING004(TINTEGER012(700 - INTEGER006))
Next
Endif
AnsiPos 1, 15
Wait
Goto LABEL006
End
:LABEL007
If (INTEGER003 == INTEGER002) INTEGER003 = INTEGER002 + 1
Print "@X03"
For INTEGER006 = 1 To 8
AnsiPos 2, INTEGER006 + 2
Print " " + Left(TSTRING001(INTEGER006 + INTEGER001), 23) + " "
Next
:LABEL008
If (INTEGER003 == INTEGER002) Goto LABEL009
AnsiPos 2, INTEGER003 + 2
Print " " + Left(TSTRING001(INTEGER001 + INTEGER003), 23) + " "
AnsiPos 2, INTEGER002 + 2
Print "@X1F " + Left(TSTRING001(INTEGER001 + INTEGER002), 23) + " @X03"
:LABEL009
STRING002 = Inkey()
INTEGER007 = INTEGER007 + 1
If (INTEGER007 == 220) Then
INTEGER007 = 0
INTEGER009 = INTEGER009 + 1
If (INTEGER009 > 34) INTEGER009 = 1
INTEGER008 = INTEGER009
If (INTEGER008 > 16) INTEGER008 = 35 - INTEGER009
AnsiPos 29, 7
If (INTEGER008 == 1) Print "@X0FD@X0Be@X03ltaProductions@X03"
If (INTEGER008 == 2) Print "@X0BD@X0Fe@X0Bl@X03taProductions@X03"
If (INTEGER008 == 3) Print "@X03D@X0Be@X0Fl@X0Bt@X03aProductions@X03"
If (INTEGER008 == 4) Print "@X03De@X0Bl@X0Ft@X0Ba@X03Productions@X03"
If (INTEGER008 == 5) Print "@X03Del@X0Bt@X0Fa@X0BP@X03roductions@X03"
If (INTEGER008 == 6) Print "@X03Delt@X0Ba@X0FP@X0Br@X03oductions@X03"
If (INTEGER008 == 7) Print "@X03Delta@X0BP@X0Fr@X0Bo@X03ductions@X03"
If (INTEGER008 == 8) Print "@X03DeltaP@X0Br@X0Fo@X0Bd@X03uctions@X03"
If (INTEGER008 == 9) Print "@X03DeltaPr@X0Bo@X0Fd@X0Bu@X03ctions@X03"
If (INTEGER008 == 10) Print "@X03DeltaPr@X0Bo@X0Fd@X0Bu@X03ctions@X03"
If (INTEGER008 == 11) Print "@X03DeltaPro@X0Bd@X0Fu@X0Bc@X03tions@X03"
If (INTEGER008 == 12) Print "@X03DeltaProd@X0Bu@X0Fc@X0Bt@X03ions@X03"
If (INTEGER008 == 13) Print "@X03DeltaProdu@X0Bc@X0Ft@X0Bi@X03ons@X03"
If (INTEGER008 == 14) Print "@X03DeltaProduc@X0Bt@X0Fi@X0Bo@X03ns@X03"
If (INTEGER008 == 15) Print "@X03DeltaProduct@X0Bi@X0Fo@X0Bn@X03s@X03"
If (INTEGER008 == 16) Print "@X03DeltaProducti@X0Bo@X0Fn@X0Bs@X03"
If (INTEGER008 == 17) Print "@X03DeltaProductio@X0Bn@X0Fs@X03"
Endif
INTEGER004 = 0
If (STRING002 == "") Goto LABEL009
If (STRING002 == "UP") Then
If ((INTEGER002 == 1) && (INTEGER001 == 0)) Goto LABEL010
INTEGER003 = INTEGER002
INTEGER002 = INTEGER002 - 1
Endif
:LABEL010
If (STRING002 == Chr(13)) Return
If (STRING002 == "DOWN") Then
If ((INTEGER002 >= 19) && (INTEGER001 >= INTEGER005 - 19)) Goto LABEL011
INTEGER003 = INTEGER002
INTEGER002 = INTEGER002 + 1
Endif
:LABEL011
If (INTEGER002 < 1) Then
INTEGER002 = 1
INTEGER004 = 1
Endif
If (INTEGER002 > 8) Then
INTEGER003 = 7
INTEGER002 = 8
INTEGER004 = 1
Endif
If (INTEGER001 < 0) Then
INTEGER001 = 0
INTEGER002 = 1
INTEGER003 = 2
Endif
If (INTEGER004 == 1) Goto LABEL007
Goto LABEL008
Return
:LABEL012
AnsiPos 15, 1
Cls
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 2 Cls
; 1 Wait
; 45 Goto
; 69 Let
; 82 Print
; 61 If
; 2 DispFile
; 1 FOpen
; 1 FClose
; 1 FGet
; 1 Gosub
; 2 Return
; 51 AnsiPos
; 1 GetAltUser
; 7 Sort
;
;
; ■ Functions used :
;
; 63 +
; 41 -
; 46 ==
; 11 <
; 9 <=
; 3 >
; 20 >=
; 27 !
; 20 &&
; 9 ||
; 2 Upper()
; 3 Left()
; 1 Ferr()
; 1 Chr()
; 4 U_Name()
; 2 U_Logons()
; 2 U_Ful()
; 2 U_Fdl()
; 1 U_Bdl()
; 1 U_Bul()
; 1 Inkey()
; 3 PPEPath()
; 2 U_MsgWr()
; 1 GetY()
;
;------------------------------------------------------------------------------
;
; Analysis flags : R
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 0 While/EndWhile
; 14 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------